/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Curriculums;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;


public class Publicaciones {
    static String bd = "bitacoraelectronica";
    static String login = "root";
    static String password = "A74543";
    static String url = "jdbc:mysql://localhost/"+bd;
    
    private Object[] ReferenciasProf;
    private Object[] PublicacionesProf;
    private Object[] DescripcionesProf;
    private Object[] FechasProf;
    
    Connection conn = null;
            
    public Publicaciones(){
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection(url,login,password);
            if (conn != null) {
                System.out.println("Conexión a base de datos "+url+" ... Ok");
            }
        }
        catch (Exception e) {
                System.out.println(e);
                System.exit(0);
        } 
    }
    
    public void agregarPublicacionProf(String usuario, String referencia){
        try{
            Statement s = conn.createStatement();
            s.executeUpdate("INSERT INTO publica VALUES ('"+usuario+"','"+referencia+"')" );
        }
        catch (Exception e) {
            System.out.println(e);
            System.exit(0);
        }
    }
    
    public void agregarPublicacion(String ref, String nombre, String descripcion, String fecha, String usuario){
         try{
            Statement s = conn.createStatement();
            s.executeUpdate("INSERT INTO publicacion VALUES ('"+ref+"', '"+nombre+"','"+descripcion+"', '"+fecha+"')" );
            s.executeUpdate("INSERT INTO publica VALUES ('"+usuario+"','"+ref+"')" );
        }
        catch (Exception e) {
            System.out.println(e);
            System.exit(0);
        }
    }
    
    public void getPublicacionProf(String usuario){
        List<String> list = new ArrayList<String>();
        List<String> list2 = new ArrayList<String>();
        List<String> list3 = new ArrayList<String>();
        List<String> list4 = new ArrayList<String>();
        try{
            Statement s = conn.createStatement();
            ResultSet rs = s.executeQuery("select * from publica p, publicacion a"
                    + " where p.UsernameProf = '"+usuario+"' AND p.Referencia = a.Referencia");
            while (rs.next())
            {
                list.add( rs.getString("Referencia"));
                list2.add( rs.getString("Nombre"));
                list3.add( rs.getString("Descripcion"));
                list4.add( rs.getString("Fecha"));
            }
        }
        catch (Exception e) {
                System.out.println(e);
                System.exit(0);
        }
        ReferenciasProf =  list.toArray();
        PublicacionesProf = list2.toArray();
        DescripcionesProf = list3.toArray();
        FechasProf = list4.toArray();
    }
    
    public Object[] GetRefProf(){
        return ReferenciasProf;
    }
    
    public Object[] GetPublicPrf(){
        return PublicacionesProf;
    }
    
    public Object[] GetDescProf(){
        return DescripcionesProf;
    }
    
    public Object[] GetFechaProf(){
        return FechasProf;
    }
    
    public Object[] GetPublicacionesExistentes(){
        List<String> list = new ArrayList<String>();
        try{
            Statement s = conn.createStatement();
            ResultSet rs = s.executeQuery("select Referencia from Publicacion");
            while (rs.next())
            {
                list.add( rs.getString("Referencia"));
            }
        }
        catch (Exception e) {
                System.out.println(e);
                System.exit(0);
        }
        return list.toArray();
    }
    
    public void EliminarPublicaion(String usuario){
        try{
            Statement s = conn.createStatement();
            s.executeUpdate("Delete From publica where usernameProf = '"+usuario+"'");
           
        }
        catch (Exception e) {
            System.out.println(e);
            System.exit(0);
        }
    }
    
}
